博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django实战模拟博客系统
阅读量:6450 次
发布时间:2019-06-23

本文共 4310 字,大约阅读时间需要 14 分钟。

数据库代码块

1 from django.db import models 2 from django.utils import timezone 3 from django.contrib.auth.models import User 4  5 # Create your models here. 6 class BlogArticles(models.Model): 7     title = models.CharField(max_length=30) 8     author = models.ForeignKey(User,related_name="blog_posts") 9     body = models.TextField()10     publish = models.DateTimeField(default=timezone.now)11 12     class Meta:13         ordering = ("-publish",)14 15     def __str__(self):16         return self.title

显示文章标题代码块

1 from django.shortcuts import render2 from .models import BlogArticles3 4 def blog_title(request):5     blogs = BlogArticles.objects.all()6     return render(request,'blog/titles.html',{
"blogs":blogs})

公共模板base.html

1 {% load staticfiles %} 2  3  4  5     
6 {% block title %}{% endblock %} 7
8 9 10
11 {% block content %}12 {% endblock %}13
14 15 16 17

显示文章标题

unblog的url中

url(r'^blog/', include('blog.urls')),

blog的url中

url(r'^blog_title/', views.blog_title),

视图函数

1 from .models import BlogArticles2 3 def blog_title(request):4     blogs = BlogArticles.objects.all()5     return render(request,'blog/titles.html',{
"blogs":blogs})
titles。html
1 {% extends "base.html" %} 2  3 {% block title %}blog titles{% endblock %} 4  5 {% block content %} 6     

我的博客

7
8
9
14
15
16 {% endblock %}

显示结果

 

 

 

查看文章内容

映射关系

url(r'^blog_title/$', views.blog_title),    url(r'^blog_title/(?P
\d)/$', views.blog_article),

前端中的title,html更改项目

{% for blog in blogs %}                
  • {
    { blog.id }}>>>{
    { blog.title }}
  • {% endfor %}

     函数部分

    1 def blog_article(request,nid):2     # article=BlogArticles.objects.get(id=nid)3     article= get_object_or_404(BlogArticles,id=nid)4     pub = article.publish5     return render(request,'blog/content.html', {
    "article":article,"pub":pub})

     

     content.html前端代码

    {% extends "base.html" %}{% block title %}blog articel{% endblock %}{% block content %}    

    {
    { article.title }}

    {

    { article.author.username }} {
    { pub }}

    {
    { article.body }}
    {% endblock %}

      最后结果

    url代码

    url(r'^register/$', views.user_register,  name='user_register'),

     

     

    注册的视图函数

    def user_register(request):    if request.method == 'GET':        user_form = RegistrationForm()        return render(request, 'account/register.html', {
    "form": user_form}) if request.method == 'POST': user_form = RegistrationForm(request.POST) print(">>>",request.POST) if user_form.is_valid(): new_user = user_form.save(commit=False) print('1',new_user) new_user.set_password(user_form.cleaned_data['password']) print('2',new_user) new_user.save() return HttpResponse('注册成功') else: return HttpResponse('注册失败') else: user_form = RegistrationForm() return render(request, 'account/register.html', {
    "form": user_form})

     

    html验证的代码

    注册时的代码html的代码

    1 {% extends "base.html" %} 2 {% load staticfiles %} 3 {% block title %}用户注册{% endblock %} 4  5 {% block content %} 6     
    7

    登陆注册页面

    8

    如果账户已存在请登陆

    9

    或者,请注册

    10
    {% csrf_token %}11
    12
    13
    {
    { form.username }}
    14
    15
    16
    17
    {
    { form.email }}
    18
    19
    20
    21
    {
    { form.password }}
    22
    23
    24
    25
    {
    { form.password2 }}
    26
    27
    28
    29
    30 {% endblock %}

     

     

    未完待续

     

    转载于:https://www.cnblogs.com/cerofang/p/8452982.html

    你可能感兴趣的文章
    c++ 函数声明
    查看>>
    linux下,免密码登录
    查看>>
    街道管理
    查看>>
    hdu 3501 Calculation 2 (欧拉函数)
    查看>>
    可以免费下载视频素材和模板网站汇总
    查看>>
    SPOJ104 Highways,跨越数
    查看>>
    使用rman备份异机恢复数据库
    查看>>
    Win7-64bit系统下安装mysql的ODBC驱动
    查看>>
    node中非常重要的process对象,Child Process模块
    查看>>
    Webserver管理系列:3、Windows Update
    查看>>
    Linux内核源码详解——命令篇之iostat[zz]
    查看>>
    Sqlserver2000联系Oracle11G数据库进行实时数据的同步
    查看>>
    明年计划
    查看>>
    ORACLE功能GREATEST功能说明具体实例
    查看>>
    DataGridView 输入数据验证格式(实例)
    查看>>
    HDOJ 2151
    查看>>
    Foundation框架 - 快速创建跨平台的网站页面原型
    查看>>
    open-falcon
    查看>>
    三菱plc输出指示灯不亮怎么办(转载)
    查看>>
    doc2vec使用说明(一)gensim工具包TaggedLineDocument
    查看>>